package com.mdata.model.dto.wechat.result;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * errcode 	返回码
 * errmsg 	对返回码的文本描述内容
 * group_chat 	客户群详情
 * group_chat.chat_id 	客户群ID
 * group_chat.name 	群名
 * group_chat.owner 	群主ID
 * group_chat.create_time 	群的创建时间
 * group_chat.notice 	群公告
 * group_chat.member_list 	群成员列表
 * group_chat.member_list.userid 	群成员id
 * group_chat.member_list.type 	成员类型。
 * 1 - 企业成员
 * 2 - 外部联系人
 * group_chat.member_list.unionid 	外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当群成员类型是微信用户（包括企业成员未添加好友），且企业或第三方服务商绑定了微信开发者ID有此字段。查看绑定方法
 * group_chat.member_list.join_time 	入群时间
 * group_chat.member_list.join_scene 	入群方式。
 * 1 - 由群成员邀请入群（直接邀请入群）
 * 2 - 由群成员邀请入群（通过邀请链接入群）
 * 3 - 通过扫描群二维码入群
 * group_chat.member_list.invitor 	邀请者。目前仅当是由本企业内部成员邀请入群时会返回该值
 * group_chat.member_list.invitor.userid 	邀请者的userid
 * group_chat.member_list.group_nickname 	在群里的昵称
 * group_chat.member_list.name 	名字。仅当 need_name = 1 时返回
 * 如果是微信用户，则返回其在微信中设置的名字
 * 如果是企业微信联系人，则返回其设置对外展示的别名或实名
 * group_chat.admin_list 	群管理员列表
 * group_chat.admin_list.userid 	群管理员userid
 */
@Data
public class GroupChat {

    @JsonProperty(value = "chat_id")
    private String chatId;

    @JsonProperty(value = "name")
    private String name;

    @JsonProperty(value = "owner")
    private String owner;

    @JsonProperty(value = "create_time")
    private Integer createTime;

    @JsonProperty(value = "notice")
    private Integer notice;

    @JsonProperty(value = "member_list")
    List<GroupChatMemberList> memberList;

    @JsonProperty(value = "invitor")
    GroupChatMemberListInvitor invitor;

    @JsonProperty(value = "admin_list")
    List<GroupChatAdminList> adminList;
}
